/*
 * @lc app=leetcode.cn id=283 lang=cpp
 *
 * [283] 移动零
 */

// @lc code=start
class Solution
{
public:
    void moveZeroes(vector<int> &nums)
    {
        //第二种解法 一次遍历 这是快速排序的思想
        //将不等于0的元素放左边 等于0的元素放右边
        if (nums.size() == 0)
        {
            return;
        }

        int left = 0;
        for (int right = 0; right < nums.size(); right++)
        {
            //如果right不等于0 与left交换位置 left++
            if (nums[right] != 0)
            {
                if(right>left){
                    //初始不为0的时候不交换
                    nums[left] = nums[right];
                    nums[right] = 0;
                }
                left++;
            }
        }
    }
};
// @lc code=end
